package com.dbdata.move.model;

// Generated cafuc by Hibernate Tools 4

import java.util.Date;
import java.util.HashSet;
import java.util.Set;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import static javax.persistence.GenerationType.IDENTITY;
import javax.persistence.Id;
import javax.persistence.OneToMany;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

/**
 * PlanRecord generated by hbm2java
 */
@Entity
@Table(name = "plan_record")
public class PlanRecord implements java.io.Serializable {

	private Long id;
	private String recordNum;
	private Date createTime;
	private Long studentId;
	private Long createUserId;
	private byte recordType;
	private long mainPointId;
	private int studyNum;
	private byte recordClassify;
	private String reportPictureUrl;
	private Long studentRecommendId;
	private Long studentResitId;
	private Long skillId;
	private Long qualityId;
	private Set<PlanRecordTopic> planRecordTopics = new HashSet<PlanRecordTopic>(
			0);

	public PlanRecord() {
	}

	public PlanRecord(byte recordType, long mainPointId, int studyNum,
			byte recordClassify) {
		this.recordType = recordType;
		this.mainPointId = mainPointId;
		this.studyNum = studyNum;
		this.recordClassify = recordClassify;
	}

	public PlanRecord(String recordNum, Date createTime, Long studentId,
			Long createUserId, byte recordType, long mainPointId, int studyNum,
			byte recordClassify, String reportPictureUrl,
			Long studentRecommendId, Long studentResitId, Long skillId,
			Long qualityId, Set<PlanRecordTopic> planRecordTopics) {
		this.recordNum = recordNum;
		this.createTime = createTime;
		this.studentId = studentId;
		this.createUserId = createUserId;
		this.recordType = recordType;
		this.mainPointId = mainPointId;
		this.studyNum = studyNum;
		this.recordClassify = recordClassify;
		this.reportPictureUrl = reportPictureUrl;
		this.studentRecommendId = studentRecommendId;
		this.studentResitId = studentResitId;
		this.skillId = skillId;
		this.qualityId = qualityId;
		this.planRecordTopics = planRecordTopics;
	}

	@Id
	@GeneratedValue(strategy = IDENTITY)
	@Column(name = "ID", unique = true, nullable = false)
	public Long getId() {
		return this.id;
	}

	public void setId(Long id) {
		this.id = id;
	}

	@Column(name = "RECORD_NUM", length = 15)
	public String getRecordNum() {
		return this.recordNum;
	}

	public void setRecordNum(String recordNum) {
		this.recordNum = recordNum;
	}

	@Temporal(TemporalType.TIMESTAMP)
	@Column(name = "CREATE_TIME", length = 19)
	public Date getCreateTime() {
		return this.createTime;
	}

	public void setCreateTime(Date createTime) {
		this.createTime = createTime;
	}

	@Column(name = "STUDENT_ID")
	public Long getStudentId() {
		return this.studentId;
	}

	public void setStudentId(Long studentId) {
		this.studentId = studentId;
	}

	@Column(name = "CREATE_USER_ID")
	public Long getCreateUserId() {
		return this.createUserId;
	}

	public void setCreateUserId(Long createUserId) {
		this.createUserId = createUserId;
	}

	@Column(name = "RECORD_TYPE", nullable = false)
	public byte getRecordType() {
		return this.recordType;
	}

	public void setRecordType(byte recordType) {
		this.recordType = recordType;
	}

	@Column(name = "MAIN_POINT_ID", nullable = false)
	public long getMainPointId() {
		return this.mainPointId;
	}

	public void setMainPointId(long mainPointId) {
		this.mainPointId = mainPointId;
	}

	@Column(name = "STUDY_NUM", nullable = false)
	public int getStudyNum() {
		return this.studyNum;
	}

	public void setStudyNum(int studyNum) {
		this.studyNum = studyNum;
	}

	@Column(name = "RECORD_CLASSIFY", nullable = false)
	public byte getRecordClassify() {
		return this.recordClassify;
	}

	public void setRecordClassify(byte recordClassify) {
		this.recordClassify = recordClassify;
	}

	@Column(name = "REPORT_PICTURE_URL")
	public String getReportPictureUrl() {
		return this.reportPictureUrl;
	}

	public void setReportPictureUrl(String reportPictureUrl) {
		this.reportPictureUrl = reportPictureUrl;
	}

	@Column(name = "STUDENT_RECOMMEND_ID")
	public Long getStudentRecommendId() {
		return this.studentRecommendId;
	}

	public void setStudentRecommendId(Long studentRecommendId) {
		this.studentRecommendId = studentRecommendId;
	}

	@Column(name = "STUDENT_RESIT_ID")
	public Long getStudentResitId() {
		return this.studentResitId;
	}

	public void setStudentResitId(Long studentResitId) {
		this.studentResitId = studentResitId;
	}

	@Column(name = "SKILL_ID")
	public Long getSkillId() {
		return this.skillId;
	}

	public void setSkillId(Long skillId) {
		this.skillId = skillId;
	}

	@Column(name = "QUALITY_ID")
	public Long getQualityId() {
		return this.qualityId;
	}

	public void setQualityId(Long qualityId) {
		this.qualityId = qualityId;
	}

	@OneToMany(fetch = FetchType.LAZY, mappedBy = "planRecord")
	public Set<PlanRecordTopic> getPlanRecordTopics() {
		return this.planRecordTopics;
	}

	public void setPlanRecordTopics(Set<PlanRecordTopic> planRecordTopics) {
		this.planRecordTopics = planRecordTopics;
	}

}
